Montgomery Curve
   HOME

TheInfoList



OR:

In
mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
the Montgomery curve is a form of
elliptic curve In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point . An elliptic curve is defined over a field and describes points in , the Cartesian product of with itself. If ...
introduced by Peter L. Montgomery in 1987, different from the usual
Weierstrass form In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point . An elliptic curve is defined over a field and describes points in , the Cartesian product of with itself. If t ...
. It is used for certain computations, and in particular in different
cryptography Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adver ...
applications.


Definition

A Montgomery curve over a
field Field may refer to: Expanses of open ground * Field (agriculture), an area of land used for agricultural purposes * Airfield, an aerodrome that lacks the infrastructure of an airport * Battlefield * Lawn, an area of mowed grass * Meadow, a grass ...
is defined by the
equation In mathematics, an equation is a formula that expresses the equality of two expressions, by connecting them with the equals sign . The word ''equation'' and its cognates in other languages may have subtly different meanings; for example, in ...
:M_: By^2 = x^3 + Ax^2 + x for certain and with . Generally this
curve In mathematics, a curve (also called a curved line in older texts) is an object similar to a line (geometry), line, but that does not have to be Linearity, straight. Intuitively, a curve may be thought of as the trace left by a moving point (ge ...
is considered over a
finite field In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field that contains a finite number of elements. As with any field, a finite field is a set on which the operations of multiplication, addition, subtr ...
''K'' (for example, over a finite field of elements, ) with characteristic different from 2 and with and , but they are also considered over the
rationals In mathematics, a rational number is a number that can be expressed as the quotient or fraction of two integers, a numerator and a non-zero denominator . For example, is a rational number, as is every integer (e.g. ). The set of all rationa ...
with the same restrictions for and .


Montgomery arithmetic

It is possible to do some "operations" between the points of an elliptic curve: "adding" two points P, Q consists of finding a third one R such that R=P+Q; "doubling" a point consists of computing =P+P (For more information about operations see The group law) and below. A point P=(x,y) on the elliptic curve in the Montgomery form By^2 = x^3 + Ax^2 + x can be represented in Montgomery coordinates P=(X:Z), where P=(X:Z) are
projective coordinates In mathematics, homogeneous coordinates or projective coordinates, introduced by August Ferdinand Möbius in his 1827 work , are a system of coordinates used in projective geometry, just as Cartesian coordinates are used in Euclidean geometry. T ...
and x=X/Z for Z\ne 0. Notice that this kind of representation for a point loses information: indeed, in this case, there is no distinction between the affine points (x,y) and (x,-y) because they are both given by the point (X:Z). However, with this representation it is possible to obtain multiples of points, that is, given P=(X:Z), to compute =(X_n:Z_n). Now, considering the two points P_n= =(X_n:Z_n) and P_m= =(X_m:Z_m): their sum is given by the point P_=P_m+P_n = (X_:Z_) whose
coordinates In geometry, a coordinate system is a system that uses one or more numbers, or coordinates, to uniquely determine the position of the points or other geometric elements on a manifold such as Euclidean space. The order of the coordinates is sig ...
are: : X_ = Z_((X_m-Z_m)(X_n+Z_n)+(X_m+Z_m)(X_n-Z_n))^2 : Z_ = X_((X_m-Z_m)(X_n+Z_n)-(X_m+Z_m)(X_n-Z_n))^2 If m=n, then the operation becomes a "doubling"; the coordinates of _n=P_n+P_n=P_=(X_:Z_) are given by the following equations: : 4X_nZ_n = (X_n+Z_n)^2 - (X_n-Z_n)^2 : X_ = (X_n+Z_n)^2(X_n-Z_n)^2 : Z_ = (4X_nZ_n)((X_n-Z_n)^2+((A+2)/4)(4X_nZ_n)) The first operation considered above (
addition Addition (usually signified by the Plus and minus signs#Plus sign, plus symbol ) is one of the four basic Operation (mathematics), operations of arithmetic, the other three being subtraction, multiplication and Division (mathematics), division. ...
) has a time-cost of 3M+2S, where M denotes the multiplication between two general elements of the field on which the elliptic curve is defined, while S denotes squaring of a general element of the field. The second operation (doubling) has a time-cost of 2M + 2S + 1D, where D denotes the multiplication of a general element by a constant; notice that the constant is (A+2)/4, so A can be chosen in order to have a small D.


Algorithm and example

The following algorithm represents a doubling of a point P_1=(X_1:Z_1) on an elliptic curve in the Montgomery form. It is assumed that Z_1=1. The cost of this implementation is 1M + 2S + 1*A + 3add + 1*4. Here M denotes the multiplications required, S indicates the squarings, and a refers to the multiplication by A. : XX_1 = X_1^2 \, : X_2 = (XX_1-1)^2 \, : Z_2 = 4X_1(XX_1+aX_1+1) \,


Example

Let P_1=(2,\sqrt) be a point on the curve 2y^2 = x^3 -x^2 + x. In coordinates (X_1:Z_1), with x_1=X_1/Z_1, P_1=(2:1). Then: : XX_1 = X_1^2 = 4 \, : X_2 = (XX_1-1)^2 = 9 \, : Z_2 = 4X_1(XX_1+AX_1+1) = 24 \, The result is the point P_2=(X_2:Z_2)=(9:24) such that P_2=2P_1.


Addition

Given two points P_1=(x_1,y_1), P_2=(x_2,y_2) on the Montgomery curve M_ in affine coordinates, the point P_3=P_1+P_2 represents, geometrically the third point of intersection between M_ and the line passing through P_1 and P_2. It is possible to find the coordinates (x_3,y_3) of P_3, in the following way: 1) consider a generic line ~y=lx+m in the affine plane and let it pass through P_1 and P_2 (impose the condition), in this way, one obtains l=\frac and m=y_1-\left(\frac\right)x_1; 2) intersect the line with the curve M_, substituting the ~y variable in the curve equation with ~y=lx+m; the following equation of third degree is obtained: : x^3+(A-Bl^2)x^2+(1-2Blm)x-Bm^2=0. As it has been observed before, this equation has three solutions that correspond to the ~x coordinates of P_1, P_2 and P_3. In particular this equation can be re-written as: : (x-x_1)(x-x_2)(x-x_3)=0 3) Comparing the coefficients of the two identical equations given above, in particular the coefficients of the terms of second degree, one gets: : -x_1-x_2-x_3=A-Bl^2. So, x_3 can be written in terms of x_1, y_1, x_2, y_2, as: : x_3 = B\left(\frac\right)^2-A-x_1-x_2. 4) To find the ~y coordinate of the point P_3 it is sufficient to substitute the value x_3 in the line ~y=lx+m. Notice that this will not give the point P_3 directly. Indeed, with this method one find the coordinates of the point ~R such that R+P_1+P_2=P_\infty, but if one needs the resulting point of the sum between P_1 and P_2, then it is necessary to observe that: R+P_1+P_2=P_\infty if and only if -R=P_1+P_2. So, given the point ~R, it is necessary to find ~-R, but this can be done easily by changing the sign to the ~y coordinate of ~R. In other words, it will be necessary to change the sign of the ~y coordinate obtained by substituting the value x_3 in the equation of the line. Resuming, the coordinates of the point P_3=(x_3,y_3), P_3=P_1+P_2 are: : x_3 = \frac-A-x_1-x_2 : y_3 = \frac-\frac-y_1


Doubling

Given a point P_1 on the Montgomery curve M_, the point _1 represents geometrically the third point of intersection between the curve and the line tangent to P_1; so, to find the coordinates of the point P_3=2P_1 it is sufficient to follow the same method given in the addition formula; however, in this case, the line ''y'' = ''lx'' + ''m'' has to be tangent to the curve at P_1, so, if M_: f(x,y)=0 with : f(x,y)=x^3+Ax^2+x-By^2, then the value of ''l'', which represents the
slope In mathematics, the slope or gradient of a line is a number that describes both the ''direction'' and the ''steepness'' of the line. Slope is often denoted by the letter ''m''; there is no clear answer to the question why the letter ''m'' is use ...
of the line, is given by: : l=-\left.\frac\right/\frac by the implicit function theorem. So l = \frac and the coordinates of the point P_3, P_3=2P_1 are: : \begin x_3 & = Bl^2-A-x_1-x_1 = \frac-A-x_1-x_1 \\ y_3 & = (2x_1+x_1+A)l-Bl^3-y_1 \\ & = \frac-\frac-y_1. \end


Equivalence with twisted Edwards curves

Let K be a field with characteristic different from 2. Let M_ be an elliptic curve in the Montgomery form: : M_ : Bv^2 = u^3 + Au^2 + u with A\in K\smallsetminus\, B \in K\smallsetminus\ and let E_ be an elliptic curve in the twisted Edwards form: : E_\ :\ ax^2 + y^2 = 1 + dx^2y^2, \, with a,d\in K\smallsetminus\, \quad a\neq d. The following theorem shows the
birational equivalence In mathematics, birational geometry is a field of algebraic geometry in which the goal is to determine when two algebraic varieties are isomorphic outside lower-dimensional subsets. This amounts to studying mappings that are given by rational f ...
between Montgomery curves and
twisted Edwards curve In algebraic geometry, the twisted Edwards curves are plane models of elliptic curves, a generalisation of Edwards curves introduced by Daniel J. Bernstein, Bernstein, Birkner, Joye, Tanja Lange, Lange and Peters in 2008. The curve set is named a ...
: Theorem (i) Every twisted Edwards curve is birationally equivalent to a Montgomery curve over K. In particular, the twisted Edwards curve E_ is birationally equivalent to the Montgomery curve M_ where A = \frac, and B = \frac. The
map A map is a symbolic depiction emphasizing relationships between elements of some space, such as objects, regions, or themes. Many maps are static, fixed to paper or some other durable medium, while others are dynamic or interactive. Although ...
: : \psi\,:\,E_ \rightarrow M_ : (x,y) \mapsto (u,v) = \left(\frac,\frac\right) is a birational equivalence from E_ to M_, with inverse: : \psi^: M_ \rightarrow E_ : (u,v) \mapsto (x,y) = \left(\frac,\frac\right), a=\frac, d=\frac Notice that this equivalence between the two curves is not valid everywhere: indeed the map \psi is not defined at the points v = 0 or u + 1 = 0 of the M_.


Equivalence with Weierstrass curves

Any elliptic curve can be written in Weierstrass form. In particular, the elliptic curve in the Montgomery form : M_: By^2 = x^3 + Ax^2 + x, can be transformed in the following way: divide each term of the equation for M_ by B^3, and substitute the variables ''x'' and ''y'', with u=\frac and v=\frac respectively, to get the equation : v^2 = u^3 + \fracu^2 + \fracu. To obtain a short Weierstrass form from here, it is sufficient to replace ''u'' with the variable t-\frac: : v^2 = \left(t-\frac\right)^3 + \frac\left(t-\frac\right)^2 + \frac\left(t-\frac\right); finally, this gives the equation: : v^2 = t^3 + \left(\frac\right)t + \left(\frac\right). Hence the mapping is given as : \psi: M_ \rightarrow E_ : (x,y) \mapsto (t,v) = \left(\frac + \frac, \frac\right), a=\frac, b=\frac In contrast, an elliptic curve over base field \mathbb in Weierstrass form : E_: v^2 = t^3 + at + b can be converted to Montgomery form if and only if E_ has order divisible by four and satisfies the following conditions: # z^3 + az + b = 0 has at least one root \alpha \in \mathbb; and # 3\alpha^2 + a is a quadratic residue in \mathbb. When these conditions are satisfied, then for s = (\sqrt)^ we have the mapping : \psi^: E_ \rightarrow M_ : (t,v) \mapsto (x,y) = \left(s (t-\alpha), s v\right), A = 3 \alpha s, B = s .


See also

*
Curve25519 In cryptography, Curve25519 is an elliptic curve used in elliptic-curve cryptography (ECC) offering 128 bits of security (256-bit key size) and designed for use with the elliptic curve Diffie–Hellman (ECDH) key agreement scheme. It is one of th ...
*
Table of costs of operations in elliptic curves Elliptic curve cryptography is a popular form of public key encryption that is based on the mathematical theory of elliptic curves. Points on an elliptic curve can be added and form a group under this addition operation. This article describes th ...
– information about the running-time required in a specific case


Notes


References

* * * {{cite journal , author1=Wouter Castryck , author2=Steven Galbraith , author3=Reza Rezaeian Farashahi , year=2008 , title = Efficient Arithmetic on Elliptic Curves using a Mixed Edwards-Montgomery Representation , url = https://eprint.iacr.org/2008/218.pdf


External links


Genus-1 curves over large-characteristic fields
Elliptic curves Elliptic curve cryptography